package com.budwk.app.miniapp.models;

import com.budwk.starter.common.openapi.annotation.ApiModel;
import com.budwk.starter.common.openapi.annotation.ApiModelProperty;
import lombok.Data;
import org.apache.commons.net.ntp.TimeStamp;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;

import java.io.Serializable;
import java.util.Date;

/**
 * 志愿者信息对象 wx_volunteer
 *
 * @author dfxy
 * @date 2023-04-07
 */
@Data
@Table("wx_volunteer")
@ApiModel(description = "志愿者信息表")
public class WxVolunteer implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @Column
    @Name
    @Comment("ID")
    @ApiModelProperty(description = "ID")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    @PrevInsert(els = {@EL("uuid()")})
    private String id;

    /**
     * 志愿者姓名
     */
    @Column
    @Comment("志愿者姓名")
    @ApiModelProperty(description = "志愿者姓名")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String name;

    /**
     * 性别
     */
    @Column
    @Comment("性别")
    @ApiModelProperty(description = "性别")
    @ColDefine(type = ColType.VARCHAR, width = 5)
    private String sexual;

    /**
     * 授权手机号（取授权号码）
     */
    @Column
    @Comment("授权手机号（取授权号码）")
    @ApiModelProperty(description = "授权手机号（取授权号码）")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String phone;

    /**
     * 微信所在省份
     */
    @Column
    @Comment("微信所在省份")
    @ApiModelProperty(description = "微信所在省份")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String vxprovinces;

    /**
     * 微信所在城市
     */
    @Column
    @Comment("微信所在城市")
    @ApiModelProperty(description = "微信所在城市")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String vxcities;

    /**
     * 出生年份
     */
    @Column
    @Comment("出生年份")
    @ApiModelProperty(description = "出生年份")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String years;

    /**
     * 意向服务省份
     */
    @Column
    @Comment("意向服务省份")
    @ApiModelProperty(description = "意向服务省份")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String provinces;

    /**
     * 意向服务城市
     */
    @Column
    @Comment("意向服务城市")
    @ApiModelProperty(description = "意向服务城市")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String cities;

    /**
     * 意向服务区县
     */
    @Column
    @Comment("意向服务区县")
    @ApiModelProperty(description = "意向服务区县")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String districts;

    /**
     * 意向服务乡镇
     */
    @Column
    @Comment("意向服务乡镇")
    @ApiModelProperty(description = "意向服务乡镇")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String townships;

    /**
     * 意向服务类型
     */
    @Column
    @Comment("意向服务类型")
    @ApiModelProperty(description = "意向服务类型")
    @ColDefine(type = ColType.VARCHAR, width = 8000)
    private String servicetype;

    /**
     * 意向服务时间
     */
    @Column
    @Comment("意向服务时间")
    @ApiModelProperty(description = "意向服务时间")
    @ColDefine(type = ColType.VARCHAR, width = 2000)
    private String servicetime;

    /**
     * 注册时间
     */
    @Column
    @Comment("注册时间")
    @ApiModelProperty(description = "注册时间")
    @ColDefine(type = ColType.TIMESTAMP, width = 6)
    private Date registrationtime;


    /**
     * 创建者
     */
    @Column("create_by")
    @Comment("创建者")
    @ApiModelProperty(description = "创建者")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String createBy;

    /**
     * 创建时间
     */
    @Column("createdat")
    @Comment("创建时间")
    @ApiModelProperty(description = "创建时间")
    @ColDefine(type = ColType.VARCHAR, width = 6)
    private String createDat;

    /**
     * 创建时间
     */
 /*   @Column("create_time")
    @Comment("创建时间")
    @ApiModelProperty(description = "创建时间")
    @ColDefine(type = ColType.TIMESTAMP, width = 6)
    private TimeStamp createTime;*/

    /**
     * 更新者
     */
    @Column("update_by")
    @Comment("更新者")
    @ApiModelProperty(description = "更新者")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String updateBy;

    /**
     * 更换时间
     */
    @Column("updateDat")
    @Comment("更换时间")
    @ApiModelProperty(description = "更换时间")
    @ColDefine(type = ColType.VARCHAR, width = 6)
    private String updateDat;

    /**
     * 删除标记
     */
    @Column("del_flag")
    @Comment("删除标记")
    @ApiModelProperty(description = "删除标记")
    @ColDefine(type = ColType.BOOLEAN, width = 2)
    private Boolean delFlag;


    /**
     * 志愿者openid
     */
    @Column
    @Comment("志愿者openid")
    @ApiModelProperty(description = "志愿者openid")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String openid;

    /**
     * 是否推送
     */
    @Column
    @Comment("是否推送")
    @ApiModelProperty(description = "是否推送")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String pushstatus;

    /**
     * 微信推送剩余次数
     */
    @Column
    @Comment("微信推送剩余次数")
    @ApiModelProperty(description = "微信推送剩余次数")
    @ColDefine(type = ColType.INT, width = 64)
    private Integer pushtimes;

    /**
     * 是否全选服务类型 f未全选 t全选
     */
    @Column("all_servicetype_flag")
    @Comment("是否全选服务类型 f未全选 t全选")
    @ApiModelProperty(description = "是否全选服务类型 f未全选 t全选")
    @ColDefine(type = ColType.BOOLEAN, width = 2)
    private Boolean allServiceTypeFlag;
}
